package com.ideaaedi.zoo.example.springboot.bpmn.flowable.controller.demo6.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.lang.NonNull;

import java.util.List;
import java.util.Map;

/**
 * 完成任务
 *
 * @author <font size = "20" color = "#3CAA3C"><a href="https://gitee.com/JustryDeng">JustryDeng</a></font> <img src="https://gitee.com/JustryDeng/shared-files/raw/master/JustryDeng/avatar.jpg" />
 * @since 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CompleteTaskDTO {

    /**
     * 租户
     */
    @NonNull
    private String tenant;

    /**
     * 任务id
     */
    @NonNull
    private String taskId;

    /**
     * 任务完成人
     */
    @NonNull
    private String completedBy;

    /**
     * 修改的流程变量
     * <pre>
     * k-v，其中v类型用字符串或数字
     * </pre>
     */
    private Map<String, Object> procVars;

    /**
     * 修改的本地变量
     * <pre>
     * k-v，其中v类型用字符串或数字
     * </pre>
     */
    private Map<String, Object> localVars;

    /**
     * 审批意见
     */
    private String approvalOpinions;

    /**
     * 文件ids（多个使用逗号分隔）
     */
    private String files;

    /**
     * 向后加签，子任务受理人
     * <p>
     * 注：当此参数不为空时，表示需要向后加签
     * 注：若集合列表大于1，则表示 需要对加签出来的任务，再进行向后加签
     * </p>
     */
    private List<String> subAssigneeList;
}
